BanditRepair: Speculative Exploration of Runtime Patches
نویسندگان
چکیده
We propose, BanditRepair, a system that systematically explores and assesses a set of possible runtime patches. The system is grounded on so-called “bandit algorithms”, that are online machine learning algorithms, designed for constantly balancing exploitation and exploration. BanditRepair’s runtime patches are based on modifying the execution state for repairing null dereferences. BanditRepair constantly trades the ratio of automatically handled failures for searching for new runtime patches and vice versa. We evaluate the system with 16 null dereference field bugs, where BanditRepair identifies a total of 8460 different runtime patches, which are composed of 1 up to 8 decisions (execution modifications) taken in a row. We are the first to finely characterize the search space and the outcomes of runtime repair based on execution modification.
منابع مشابه
Compiling Sequential Programs for Speculative Parallelism
We present a runtime system and a parallelizing compiler for exploiting speculative parallelism in sequential programs. In speculative executions, the computation consists of tasks which may start before their data or control dependencies are resolved; dependency violation is detected and corrected at runtime. Our runtime system provides a shared memory abstraction and ensures that shared acces...
متن کاملIntegrating Data Caching into the SUDS Runtime System
In this thesis, I describe the design and implementation of a software data cache for speculative loads in the SUDS (Software Undo System) runtime system. The basic functionality of this cache exploits short-term temporal locality and some spatial locality in the memory accesses of speculative processing elements. The cache implementation is also extended to exploit temporal locality of accesse...
متن کاملSpeculative Program Parallelization with Scalable and Decentralized Runtime Verification
Thread Level Speculation (TLS) is a dynamic code parallelization technique proposed to keep the software in pace with the advances in hardware, in particular, to automatically parallelize programs to take advantage of the multicore processors. Being speculative, frameworks of this type unavoidably rely on verification systems that are similar to software transactional memory, and that require v...
متن کاملSupport for Thread-Level Speculation into OpenMP
– In-depth knowledge of the problem. – Understanding of the underlying architecture. – Knowledge on the parallel programming model. • OpenMP allows to parallelize code “avoiding” these requirements. • Compilers’ automatic parallelization only proceed when there is no risk. • Thread-Level Speculation (TLS) can extract parallelism when a compile-time dependence analysis can not guarantee that the...
متن کاملSpeculative Parallel & Optimized Execution on Multi-Core Platforms
and Goals: The goal of the proposed research is to enable parallelization and optimization of applications for execution on contemporary multi-core platforms. Via code annotations, the user will provide hints for the presence of parallelism and the usage of static and dynamic data structures. These hints will enable exploitation of potential parallelism in these applications with high levels of...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- CoRR
دوره abs/1603.07631 شماره
صفحات -
تاریخ انتشار 2016